一般來說,ARM組合語言,目前大部分是稱作嵌入式系統,大部分會說它是寫到韌體裡面的程式語言,就是硬體與軟體之前如何溝通的語言,在這發展的過程當中,我們生活上的應用早已經拖離不開嵌入式系統。多樣性更不用說,舉凡身旁的手機、投影機、液晶...都一定要運用到嵌入式語法,甚至於到網路IoT的運用都無法脫離嵌入式系統。嵌入式最大的一個特點,就是可以共存多個嵌入式系統,換句話說,一個嵌入式系統可以包含許多個嵌入式系統,或者多個共存。
但是,嵌入式系統有時不見得需要設計到非常繁雜,例如有些CPU其實只是需要交談的能力,所以還是會依照需求來做調整,基本上還是要依照設計的需求而進行設計。
接著,還是要知道開發環境大致上長的是甚麼樣子?
首先,開發環境主要元件包括兩個:
(1)主系統(host system)
(2)目標嵌入式系統(target embedded system)
其中,主程式系統會下載程式的映像(image)到目標嵌入式系統。
主系統的開發工具有三個:
(1) 交叉編譯器(cross compiler)
(2)鏈結程式(linker)
(3)原始碼除錯器(Source-level debugger)
目標嵌入式系統可能會提供:
(1)動態載入程式(dynamic loader)
(2)鏈結載入程式(link loader)
(3)監控程式(monitor)
(4)除錯代理(debug agent)
基本上,編寫程式大概就以此為環境為基本架構進行編寫。